I. Field of the Invention
The present invention relates generally to image processing in computers and, more particularly, to a system and method for the optimization or transformation of color image data derived from an image sensor.
II. Related Art
Image scanning devices have been known in the art for some time. Generally, a scanning device controls an image sensor which is exposed to an image. From the electromagnetic energy (light) projected from the image, the image sensor stores an electrical representation.
Well known in the art, a charge couple device (CCD) is a specific type of image sensor. Essentially, a CCD is an image sensing memory device, which is attractive to designers in the art because of its high packing density and low power consumption. CCDs are often used in video cameras and the like.
Generally, a CCD observes and stores a two-dimensional (2D) representation of the image. A CCD has a grid-like structure with an 2D array of elements, known in the art as picture elements, or pixels. The pixels are arranged in orthogonal rows and columns. Each individual pixel stores the light intensity incident to it from a particular position on the image, to thereby store collectively a mirror-like 2D image. Ultimately, the signals stored in these individual elements are used to illuminate small picture elements, or pixels, on a display.
In contrast to area CCDs having a 2D array structure of elements, a "linear" CCD has only a single row of elements. Linear CCDs sample only one line from an image at a time, as opposed to an area which is comprised of many lines. Linear CCDs are used for facsimile machines and other machines which scan documents.
If only a single CCD is implemented in a scanning device, then the representation will ultimately be reproduced on a display as a binary image or as a gray scale image. In a binary image, the image is reproduced with merely black and white based upon thresholds of light intensities stored by the CCD elements. Whereas in a gray scale image, shades of gray are available to reproduce the image, which shades are based upon the varying light intensities stored by the CCD elements.
Conventional scanning devices are often designed to acquire color representations of images. For color representations, at least three separate CCDs must be implemented to observe each element in the image. One CCD corresponds with each of three primary colors in a tristimulus color space wherein all colors can be reproduced. A tristimulus color space is a color space described in terms of the relative intensities of three different lights.
The actual color of the lights is generally unrestricted. For example, the colors red, green, and blue are often used. Each CCD observes and stores the intensity of its respective color in the image. The most universally recognized color space is called CIEXYZ, where X, Y, and Z represent three different imaginary lights.
In the pursuit of acquiring color representations of images, controllable filters and, perhaps, beamsplitters are associated with each of the three CCDs. Essentially, the filters and beamsplitters control the exposure of each CCD to the image. U.S. Pat. No. 4,709,144 to Vincent, U.S. Pat. No. 4,870,268 to Vincent et al., and U.S. Pat. No. 4,806,750 to Vincent, which are all related and are assigned to the assignee of the present application, disclose trichromatic beamsplitter for separating a projected image into its three color components. The foregoing technology is particularly useful in practicing the present invention.
After an image is stored by the image scanning device, the image data, which is in the form of three analog color signals, is sent to an analog-to-digital convertor where the analog signals are transformed into three digital color signals. One digital signal corresponds with each of the primary colors.
Next, the image data travels, perhaps, through an image processor which manipulates the data in any desired fashion. For example, the image processor could have logic for scaling the image, for adjusting contrast and/or brightness, for controlling communications between itself and the host computer, such as direct memory access control, or the like.
Finally, the image data is sent to a host computer. The host computer controls the display of the image data on a screen display, printer, or other image reproduction device. The screen display is comprised of a grid of pixels. For a color screen display, each pixel has, for instance, a red, green, and blue projection device associated with it for projecting a certain intensity of each of the colors.
Oftentimes, it is desirable to modify the color of a reproduced image. One reason is that color images fed to two differently designed screen displays will not have the same appearance. However, the color image on a particular screen display can be converted to look the same as the appearance on another by manipulating the intensity of signals in the image data path between the scanning device and the host computer. Another reason is that sometimes it is desirable to transform the image from one color space having a first set of primary colors, such as red, green, and blue, into a different color space having a second set of primary colors, such as the CIEXYZ primary colors.
Traditionally, color modification can be performed by introducing analog circuitry between the CCDs and the analog-to-digital convertor. The analog circuitry mixes the analog signals in order to adjust their intensities most efficiently. The electrical signals at this stage in image processing are at relatively low power. Consequently, operational amplifier (op-amp) circuits are well suited for this purpose.
However, the use of analog circuitry, such as op-amps to perform color modification is not desirable in many situations. The analog circuitry requires much space, or "real estate." Moreover, controlling the modification is burdensome and not programmable.